1. Field of the Invention
The present invention relates to an information processing apparatus and an information processing method.
2. Description of the Related Art
Conventionally, a static memory allocation scheme has been widely used as a memory allocation scheme for information processing apparatuses. In the static memory allocation scheme, an entire program is loaded into a main storage device such as a random access memory (RAM) from an auxiliary storage device such as a hard disk. Then, the program is executed in the main storage device.
In recent times, operating systems employed in the information processing apparatuses support a virtual memory system. A most commonly-used virtual memory system is a paging system. Operating systems such as Windows® and Linux® employ the paging system as a memory allocation scheme.
According to the paging, which is discussed in Japanese Patent Application Laid-Open No. 9-244958, a physical storage area and a virtual storage area are divided into pages having a certain fixed-length of memory (for example, 4 kilobytes) and a relation between the physical storage area and the virtual storage area is mapped by a page table. The physical storage area includes the physical storage area of the main storage device as well as the physical storage area of the auxiliary storage device. The page table is used for managing a plurality of physical storage areas, which are divided into the main storage device and the auxiliary storage device, as a single virtual storage area.
According to the paging, instead of a whole of the file or the execution program, only a part of a file or an execution program is located in the physical storage area of the main storage device. When a page in the virtual storage area is accessed by an application program, if the accessed page is not allocated in the physical storage area of the main storage device, then a page fault occurs. In this case, the operating system starts a page-in process. In the page-in process, a page stored in a physical storage area of an auxiliary storage device is read based on the page table.
When the page-in process is started, the operating system searches for a free page in the physical storage area of the main storage device. If the operating system finds the free page, the operating system loads the program which has been read out from the auxiliary storage device into the free page. After updating the page table, the operating system returns to the normal process and executes the program in the virtual storage area.
An information processing apparatus which supports the virtual memory system can execute a program regardless of the storage capacity of the main storage device. Thus, such an information processing apparatus is advantageous when concurrently executing a great number of application programs on the operating system. However, when the information processing apparatus is started, if the virtual storage area includes the physical storage area of the main storage device and the physical storage area of the auxiliary storage device, initialization of the virtual storage area will take time. The initialization is performed, for example, by writing a predetermined value, such as 0, in the physical storage area included in the virtual storage area. If a great number of application programs is to be concurrently executed on the operating system of the information processing apparatus, it is useful if an area larger then the physical storage area of the main storage device is reserved as the physical storage area of the auxiliary storage device.
On the other hand, it is useful for an operator of the information processing apparatus if standby time (start-up time) is short. The standby time is time from when power is supplied to the information processing apparatus and the apparatus is activated, to when the apparatus becomes capable of executing some type of application program.